﻿using System.Collections.Generic;
using BlueCrest.Prism.Common.UI.Ribbon.Entities;

namespace BlueCrest.Prism.Common.UI.Ribbon
{
    /// <summary>
    /// Ribbon Estate Class which encapsulates Ribbon Estates (like Application Menu, QuickAccess and Tabs
    /// </summary>
    public class RibbonEstate
    {
        public List<RibbonTabEntity> Tabs { get; set; }

        public List<RibbonItem> ApplicationMenu { get; set; }

        /// <summary>
        /// Flag to say if given RibbonEstate has any Tabs
        /// </summary>
        public bool HasTabs { get { return Tabs.Count > 0; } }

        /// <summary>
        /// Flag to say if given RibbonEstate has any Application Menu
        /// </summary>
        public bool HasApplicationMenu { get { return ApplicationMenu.Count > 0; } }

        /// <summary>
        /// Flag to say if given object has any ribbon associated estate with it
        /// </summary>
        public bool HasAnyRibbonEstate { get { return HasTabs || HasApplicationMenu;  } }

        public RibbonEstate()
        {
            Tabs = new List<RibbonTabEntity>();
            ApplicationMenu = new List<RibbonItem>();   
        }

        
    }
}
